﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;

namespace DAO
{
    public class EventoDAO
    {
        #region Contrutores
        public EventoDAO()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        #endregion

        #region Leitores

        public static Evento Selecionar(int id)
        {
            try
            {
                var bco = new PersistenciaContainer();
                var obj = bco.Eventoes.FirstOrDefault(e => e.ID == id);
                if (obj == null) { throw new Exception("Evento não encontrado!"); }
                return obj;
            }
            catch (Exception ex)
            {
                throw new Exception("Selecionar() - " + ex.Message.ToString());
            }
        }
        public static Evento Selecionar(string eventoAlias)
        {
            try
            {
                var bco = new PersistenciaContainer();
                var obj = bco.Eventoes.FirstOrDefault(e => e.alias == eventoAlias);
                if (obj == null) { throw new Exception("Evento não encontrado!"); }
                return obj;
            }
            catch (Exception ex)
            {
                throw new Exception("Selecionar() - " + ex.Message.ToString());
            }
        }

        public static DropDownList Listar(DropDownList ddl)
        {
            try
            {
                var bco = new PersistenciaContainer();
                var objs = (from a in bco.Eventoes
                            orderby a.titulo ascending
                            select new
                            {
                                ID = a.ID,
                                Descrição = a.titulo
                            }).ToList();
                ddl.DataSource = objs;
                ddl.DataTextField = "Descrição";
                ddl.DataValueField = "ID";
                ddl.DataBind();
                ddl.Items.Insert(0, "- -");
                return ddl;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
        }
        public static List<Evento> Listar()
        {
            PersistenciaContainer bco = new PersistenciaContainer();
            List<Evento> objs = (from a in bco.Eventoes select a).ToList();
            return objs;
        }
        #endregion

        #region Modificadores

   
        #endregion
    }
}
